Skip to content

Add language setting with full Vietnamese localization#49

Merged
datlechin merged 1 commit intomainfrom
feat/language-setting
Feb 12, 2026
Merged

Add language setting with full Vietnamese localization#49
datlechin merged 1 commit intomainfrom
feat/language-setting

Conversation

@datlechin
Copy link
Copy Markdown
Member

Summary

  • Add language setting in Settings > General with three options: System, English, Vietnamese
  • Add Xcode String Catalog (Localizable.xcstrings) with 637 localized strings — 100% Vietnamese coverage
  • Migrate hardcoded English strings to String(localized:) across 48 files
  • Show restart notice only when language is changed during the current session
  • Fix query timeout picker to gracefully handle non-standard stored values

Changes

Area Files Description
Language setting AppSettings.swift, GeneralSettingsView.swift, AppSettingsManager.swift AppLanguage enum, picker UI, apply on startup/change
String Catalog Localizable.xcstrings, project.pbxproj 637 strings, vi added to knownRegions
Localization migration 48 view/model files String(localized:) for all user-facing strings
Picker fix GeneralSettingsView.swift Include non-standard stored timeout value in picker tags
Docs CHANGELOG.md, TRACKING.md Updated localization status and changelog

Test plan

  • Settings > General shows Language picker with 3 options (System, English, Tiếng Việt)
  • Selecting "Tiếng Việt" → restart → UI displays Vietnamese
  • Selecting "System" → restart → falls back to macOS system language
  • Restart notice appears only when language is changed, not on fresh open
  • No "invalid tag" picker warnings in console
  • Build succeeds with zero errors

- Add AppLanguage enum (System/English/Vietnamese) and language picker in Settings > General
- Add Xcode String Catalog (Localizable.xcstrings) with 637 localized strings
- Migrate hardcoded English strings to String(localized:) across 48 view/model files
- Add Vietnamese (vi) to project knownRegions in pbxproj
- Apply language via UserDefaults AppleLanguages on startup and settings change
- Show restart notice when language is changed during session
- Fix query timeout picker accepting non-standard stored values gracefully
- Update CHANGELOG and TRACKING with localization progress
@datlechin datlechin merged commit d7efedf into main Feb 12, 2026
@datlechin datlechin deleted the feat/language-setting branch February 12, 2026 08:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant